Struts2

  Struts 2是Struts的下一代產品,是在 struts 和WebWork的技術基礎上進行了合并的全新的Struts 2框架。其全新的Struts 2的體系結構與Struts 1的體系結構的差別巨大。Struts 2以WebWork為核心,采用攔截器的機制來處理用戶的請求,這樣的設計也使得業務邏輯控制器能夠與Servlet API完全脫離開,所以Struts 2可以理解為WebWork的更新產品。雖然從Struts 1到Struts 2有著太大的變化,但是相對于WebWork,Struts 2只有很小的變化。
struts.gif
Struts2的體系與Struts1體系的差別非常大,因為Struts2使用了WebWork的設計核心,而不是Struts1的設計核心。Struts2中大量使用攔截器來處理用戶的請求,從而允許用戶的業務邏輯控制器與Servlet API分離。

 

  Struts2框架的大概處理流程如下:

 

  1、加載類(FilterDispatcher)

 

  2、讀取配置(struts配置文件中的Action)

 

  3、派發請求(客戶端發送請求)

 

  4、調用Action(FilterDispatcher,最新幾版是使用StrutsPrepareAndExecuteFilter從struts配置文件中讀取與之相對應的Action )

 

  5、啟用攔截器(WebWork攔截器鏈自動對請求應用通用功能,如驗證)

 

  6、處理業務(回調Action的execute()方法)

 

  7、返回響應(通過execute方法將信息返回到FilterDispatcher)

 

  8、查找響應(FilterDispatcher根據配置查找響應的是什么信息如:SUCCESS、ERROR,將跳轉到哪個jsp頁面)

 

  9、響應用戶(jsp--->客戶瀏覽器端顯示)

 

  10、struts2標簽庫(相比struts1的標簽庫,struts2是大大加強了,對數據的操作功能很強大)